[INFO] fetching crate derivative 2.2.0...
[INFO] fixing derivative-2.2.0 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate derivative 2.2.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate derivative 2.2.0
[INFO] finished tweaking crates.io crate derivative 2.2.0
[INFO] tweaked toml for crates.io crate derivative 2.2.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate derivative 2.2.0 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 20 packages to latest compatible versions
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.118)
[INFO] [stderr]       Adding trybuild v1.0.22 (available: v1.0.117)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `derivative` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd
[INFO] running `Command { std: "docker" "start" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `derivative` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]     Checking derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed src/cmp.rs (5 fixes)
[INFO] [stderr]        Fixed src/debug.rs (4 fixes)
[INFO] [stderr]        Fixed src/hash.rs (5 fixes)
[INFO] [stderr]        Fixed src/clone.rs (4 fixes)
[INFO] [stderr]        Fixed src/default.rs (3 fixes)
[INFO] [stderr]        Fixed src/ast.rs (1 fix)
[INFO] [stderr]        Fixed src/bound.rs (2 fixes)
[INFO] [stderr]        Fixed src/utils.rs (3 fixes)
[INFO] [stderr]        Fixed src/attr.rs (1 fix)
[INFO] [stderr]        Fixed src/matcher.rs (2 fixes)
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking trybuild v1.0.22
[INFO] [stderr]    Migrating tests/rustc-issue-19102.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-enum.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-tuple-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-ord.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-bounds.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-show.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-25394.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-hash.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-19358.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-enum.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-42453.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-82.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-58.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-24085.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-default-box.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-clone.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-debug-bounds.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-partial-eq.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-array.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-eq.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-meta.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-eq-packed.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-37-turbofish.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-ord-packed.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-debug-generics.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-hash.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-show-2.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-expr-copy.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-default.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-meta-multiple.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-exterior.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-default-bounds.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-12860.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-enum.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-debug-packed.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-copyclone.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-13434.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/clippy-warning-clone-from.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-16530.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-debug.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-19135.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-23649-3.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-29030.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-29540.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-67.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-32292.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-3935.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-class-implement-traits.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-enum-single-variant.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-in-fn.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-58319.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-typeclasses-eq-example.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed tests/rustc-typeclasses-eq-example.rs (2 fixes)
[INFO] [stderr]    Migrating tests/compile-test.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct-enum.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-28561.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-tuple-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-zero-sized-btreemap-insert.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-enum.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-type-params.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-21402.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-tuple-struct.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-19037.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-6341.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-clone-generics.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-partial-eq-packed.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/rustc-issue-29710.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-57.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/issue-55.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/derive-debug-transparent.rs from 2015 edition to 2018
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.08s
[INFO] [stderr] crater-edition-check: derivative v2.2.0 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]    Compiling derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dummy` is never used
[INFO] [stdout]   --> tests/rustc-issue-19358.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | trait Trait { fn dummy(&self) { } }
[INFO] [stdout]    |       -----      ^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       method in this trait
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Foo` is never used
[INFO] [stdout]  --> tests/issue-55.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Foo {}
[INFO] [stdout]   |       ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt` is never used
[INFO] [stdout]  --> tests/issue-55.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn fmt<T>(_: &T, _: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Qux` is never constructed
[INFO] [stdout]   --> tests/issue-55.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Qux<'a, T: Foo>(&'a T);
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]   --> tests/rustc-deriving-in-fn.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     format!("{:?}", f);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = format!("{:?}", f);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq-packed.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]   --> tests/rustc-deriving-clone-tuple-struct.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct S((), ());
[INFO] [stdout]    |        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Array` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Array<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopyArray` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct CopyArray<T: Copy> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]   --> tests/issue-82.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.10s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-29540.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-hash.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-13434.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-tuple-struct.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-57.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-enum.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-19135.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-58319.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-array.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-show.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-in-fn.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-show-2.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-19037.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-default-box.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-37-turbofish.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-copyclone.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-meta-multiple.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-29030.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-3935.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-typeclasses-eq-example.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-58.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-type-params.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-28561.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/clippy-warning-clone-from.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-55.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-clone.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-19358.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-struct.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-ord.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/compile-test.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-21402.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-clone-generics.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-eq.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-ord-packed.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-partial-eq-packed.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-hash.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-enum.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-debug.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-enum-single-variant.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-meta.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-debug-packed.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-exterior.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-12860.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-19102.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-29710.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-67.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-debug-bounds.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-32292.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-default.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-24085.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/issue-82.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-struct.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-enum.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-23649-3.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-42453.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-enum.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-6341.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-16530.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-zero-sized-btreemap-insert.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-expr-copy.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-default-bounds.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-tuple-struct.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-issue-25394.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-debug-generics.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-class-implement-traits.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-eq-packed.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-partial-eq.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/derive-debug-transparent.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-bounds.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct-enum.rs from 2018 edition to 2021
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-tuple-struct.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 28.38s
[INFO] [stderr] crater-edition-check: derivative v2.2.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]    Compiling derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         self.foo == other.foo
[INFO] [stdout] 24 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]   --> tests/rustc-deriving-in-fn.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     format!("{:?}", f);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = format!("{:?}", f);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq-packed.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dummy` is never used
[INFO] [stdout]   --> tests/rustc-issue-19358.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | trait Trait { fn dummy(&self) { } }
[INFO] [stdout]    |       -----      ^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       method in this trait
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Array` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Array<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopyArray` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct CopyArray<T: Copy> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]   --> tests/issue-82.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]   --> tests/rustc-deriving-clone-tuple-struct.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct S((), ());
[INFO] [stdout]    |        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Foo` is never used
[INFO] [stdout]  --> tests/issue-55.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | trait Foo {}
[INFO] [stdout]   |       ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fmt` is never used
[INFO] [stdout]  --> tests/issue-55.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn fmt<T>(_: &T, _: &mut std::fmt::Formatter) -> std::fmt::Result {
[INFO] [stdout]   |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Qux` is never constructed
[INFO] [stdout]   --> tests/issue-55.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | struct Qux<'a, T: Foo>(&'a T);
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.34s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/rustc-deriving-default-box.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-clone.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-hash-enum.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-debug-transparent.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-ord.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-enum-single-variant.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-show.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/rustc-deriving-show.rs (2 fixes)
[INFO] [stderr]    Migrating tests/rustc-issue-3935.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-16530.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/compile-test.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-default.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-array.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-13434.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-57.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-enum.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed tests/issue-57.rs (2 fixes)
[INFO] [stderr]    Migrating tests/rustc-issue-19358.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-debug.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-82.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-37-turbofish.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-tuple-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-19135.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-23649-3.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-partial-eq-packed.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-25394.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/clippy-warning-clone-from.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-eq-packed.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-29710.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-42453.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-tuple-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-21402.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-ord-packed.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-enum.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-28561.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-67.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-default-bounds.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-hash.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-58.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-show-2.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-29030.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-debug-packed.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-zero-sized-btreemap-insert.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-class-implement-traits.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-enum.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-hash.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-debug-generics.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-expr-copy.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-19102.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/issue-55.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-in-fn.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-meta-multiple.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-24085.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-32292.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-58319.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-19037.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-6341.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-via-extension-type-params.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-bounds.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-cmp-generic-struct-enum.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-exterior.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-12860.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-typeclasses-eq-example.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-eq.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-issue-29540.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-partial-eq.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-clone-generics.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/derive-debug-bounds.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-clone-generic-tuple-struct.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-copyclone.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating tests/rustc-deriving-meta.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/attr.rs (6 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.65s
[INFO] [stderr] crater-edition-check: derivative v2.2.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling derivative v2.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]   --> src/ast.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Field<'a> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub span: proc_macro2::Span,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ast.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field> {
[INFO] [stdout]    |                       ^^^^^         ^^^^^^
[INFO] [stdout]    |                       |             ||
[INFO] [stdout]    |                       |             |the same lifetime is hidden here
[INFO] [stdout]    |                       |             the same lifetime is elided here
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn all_fields(&self) -> Vec<&Field<'_>> {
[INFO] [stdout]    |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `S` is never constructed
[INFO] [stdout]   --> tests/rustc-deriving-clone-tuple-struct.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct S((), ());
[INFO] [stdout]    |        ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Test` is never constructed
[INFO] [stdout]   --> tests/issue-82.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Test {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/derive-partial-eq.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          occurs within macro expansion
[INFO] [stdout]    |          occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot explicitly borrow within an implicitly-borrowing pattern
[INFO] [stdout]   --> tests/derive-partial-eq.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |          |
[INFO] [stdout]    |          occurs within macro expansion
[INFO] [stdout]    |          occurs within macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/reference/patterns.html#binding-modes>
[INFO] [stdout]    = note: this error originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dummy` is never used
[INFO] [stdout]   --> tests/rustc-issue-19358.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | trait Trait { fn dummy(&self) { } }
[INFO] [stdout]    |       -----      ^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       method in this trait
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `derivative` (test "derive-partial-eq") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused return value of `must_use` that must be used
[INFO] [stdout]   --> tests/rustc-deriving-in-fn.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     format!("{:?}", f);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |     let _ = format!("{:?}", f);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]   --> tests/derive-eq-packed.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         self.foo == other.foo
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::addr_eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]    |
[INFO] [stdout] 26 -         self.foo == other.foo
[INFO] [stdout] 26 +         std::ptr::eq(self.foo, other.foo)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Array` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | struct Array<T> {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CopyArray` is never constructed
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | struct CopyArray<T: Copy> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Fn` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | struct Fn<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tuple` is never constructed
[INFO] [stdout]    --> tests/rustc-issue-28561.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | struct Tuple<A, B, C, D, E, F, G, H, I, J, K, L> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> tests/rustc-issue-28561.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | #[derive(Derivative)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `Derivative` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd", kill_on_drop: false }`
[INFO] [stdout] c235913446bd97db74cb9dda1b86da76b3ea5b48c2f5ee8c239cb24ebad174bd
